package huawei.od;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 【五子棋】
 * 用数组表示：-1 0 1 1 1 0 1 0 1 1
 * -1:代表白子、0:空位、1:黑子
 * 计算出最有利的出子位置
 * A、存在多个位置，返回靠近中间的较小的那个坐标
 * B、如果不存在，返回 -1
 * C、连续长度不能超过5个
 * D、找到一个空位（0），用棋子（1/-1）填充，使得最大连续长度变大
 *
 * 「输入描述」：第一行-当前出子颜色；第二行-当前的棋局状态
 * 「输出描述」：1个整数，表示出子位置的数组下标
 * 示例：
 * 输入：
1
-1 0 1 1 1 0 1 0 1 -1 1
 * 输出：5
 *
 * leetcode 424 替换后的最长重复字符 改过来的
 * 双指针的滑动窗口
 *
 */
public class GoBang {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int target = in.nextInt();
        in.nextLine();
        int[] nums = Arrays.stream(in.nextLine().split(" "))
                .mapToInt(Integer::parseInt).toArray();
        System.out.println(findMaxMatchIndex(nums,target));
        return;
    }

    private static int findMaxMatchIndex(int[] nums, int target) {
        int max = Integer.MIN_VALUE;
        int middist = 0;
        int resIndex = -1;
        int count = nums.length;
        for(int i=0;i<count; i++){
            if(nums[i] == 0){
                int left = i-1;
                int right = i+1;
                int leftCount = 0;
                int rightCount = 0;
                while(left >= 0 && nums[left] == target
                        && leftCount < max-1
                ){
                    leftCount++;
                    left--;
                }
                if(leftCount > 4){
                    continue;
                }
                rightCount = leftCount;

                while (right < count && nums[right] == target
                        && rightCount < max-1
                ){
                    rightCount++;
                    right++;
                }

                int totalCount = leftCount + rightCount;
                int distToMid = Math.abs(i - count / 2);
                if(totalCount > max || (totalCount == max && distToMid < middist)){
                    max = totalCount;
                    resIndex = i;
                    middist = distToMid;
                }
            }
        }
        return resIndex;
    }
}
